package com.ysqcould.activity.domain;


import com.fasterxml.jackson.annotation.JsonFormat;
import com.ysqcould.common.annotation.Excel;
import com.ysqcould.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 活动对象 t_activity
 * 
 * @author ruoyi
 * @date 2022-06-29
 */
public class Activity extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 发起人id */
    @Excel(name = "发起人id")
    private Long userId;

    /** 联系人 */
    @Excel(name = "联系人")
    private String contacts;

    /** 图片地址，多张用；分隔 */
    @Excel(name = "图片地址，多张用；分隔")
    private String pcUrl;

    /** 活动名称 */
    @Excel(name = "活动名称")
    private String name;

    /** 最大活动人数 */
    @Excel(name = "最大活动人数")
    private Long maxNumber;

    /** 轰动人数范围 */
    @Excel(name = "轰动人数范围")
    private String peopleNumber;

    /** 价格 */
    @Excel(name = "价格")
    private BigDecimal price;

    /** 活动报名开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "活动报名开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date applyStartTime;

    /** 活动报名结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "活动报名结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date applyEndTime;

    /** 联系电话 */
    @Excel(name = "联系电话")
    private String telPhone;

    /** 活动开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "活动开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 活动结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "活动结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 活动内容 */
    @Excel(name = "活动内容")
    private String content;

    /** 活动地址 */
    @Excel(name = "活动地址")
    private String address;

    /** 自定义字段内容 */
    @Excel(name = "自定义字段内容")
    private String customField;

    /** 审批状态：0审批中，1通过，2驳回，3撤销 */
    @Excel(name = "审批状态：0审批中，1通过，2驳回，3撤销")
    private Long checkStatus;

    /** 驳回理由 */
    @Excel(name = "驳回理由")
    private String rejectReason;

    /** 审批人id */
    @Excel(name = "审批人id")
    private Long approverId;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date checkTime;

    /** 抄送人多个用；分隔 */
    @Excel(name = "抄送人多个用；分隔")
    private String copyId;

    /** 收藏人数 */
    @Excel(name = "收藏人数")
    private Long collectNumber;

    /** 报名人数 */
    @Excel(name = "报名人数")
    private Long applyNumber;

    /** 状态（字典 0正常 1冻结 2删除） */
    @Excel(name = "状态", readConverterExp = "字=典,0=正常,1=冻结,2=删除")
    private Long status;

    /** 协会id */
    @Excel(name = "协会id")
    private Long asId;

    /** 转载协会ID，多个用；分割前后都要：例(;1;2;) */
    @Excel(name = "转载协会ID，多个用；分割前后都要：例(;1;2;)")
    private String reprintIds;

    /** 转载过记录协会ID，多个用；分割前后都要：例(;1;2;) */
    @Excel(name = "转载过记录协会ID，多个用；分割前后都要：例(;1;2;)")
    private String reproduceIds;

    /** 是否为官方发布：0不是，1是 */
    @Excel(name = "是否为官方发布：0不是，1是")
    private Long isGf;

    /** 活动详细地址 */
    @Excel(name = "活动详细地址")
    private String detailedAddress;

    /** 坐标 */
    @Excel(name = "坐标")
    private String coord;

    /** 活动收费方式（0 免费 ，1 线上收费 ，3线下收费 ） */
    @Excel(name = "活动收费方式", readConverterExp = "0=,免=费,，=1,线=上收费,，=3线下收费")
    private Long payType;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setContacts(String contacts) 
    {
        this.contacts = contacts;
    }

    public String getContacts() 
    {
        return contacts;
    }
    public void setPcUrl(String pcUrl) 
    {
        this.pcUrl = pcUrl;
    }

    public String getPcUrl() 
    {
        return pcUrl;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setMaxNumber(Long maxNumber) 
    {
        this.maxNumber = maxNumber;
    }

    public Long getMaxNumber() 
    {
        return maxNumber;
    }
    public void setPeopleNumber(String peopleNumber) 
    {
        this.peopleNumber = peopleNumber;
    }

    public String getPeopleNumber() 
    {
        return peopleNumber;
    }
    public void setPrice(BigDecimal price) 
    {
        this.price = price;
    }

    public BigDecimal getPrice() 
    {
        return price;
    }
    public void setApplyStartTime(Date applyStartTime) 
    {
        this.applyStartTime = applyStartTime;
    }

    public Date getApplyStartTime() 
    {
        return applyStartTime;
    }
    public void setApplyEndTime(Date applyEndTime) 
    {
        this.applyEndTime = applyEndTime;
    }

    public Date getApplyEndTime() 
    {
        return applyEndTime;
    }
    public void setTelPhone(String telPhone) 
    {
        this.telPhone = telPhone;
    }

    public String getTelPhone() 
    {
        return telPhone;
    }
    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }
    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }
    public void setContent(String content) 
    {
        this.content = content;
    }

    public String getContent() 
    {
        return content;
    }
    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }
    public void setCustomField(String customField) 
    {
        this.customField = customField;
    }

    public String getCustomField() 
    {
        return customField;
    }
    public void setCheckStatus(Long checkStatus) 
    {
        this.checkStatus = checkStatus;
    }

    public Long getCheckStatus() 
    {
        return checkStatus;
    }
    public void setRejectReason(String rejectReason) 
    {
        this.rejectReason = rejectReason;
    }

    public String getRejectReason() 
    {
        return rejectReason;
    }
    public void setApproverId(Long approverId) 
    {
        this.approverId = approverId;
    }

    public Long getApproverId() 
    {
        return approverId;
    }
    public void setCheckTime(Date checkTime) 
    {
        this.checkTime = checkTime;
    }

    public Date getCheckTime() 
    {
        return checkTime;
    }
    public void setCopyId(String copyId) 
    {
        this.copyId = copyId;
    }

    public String getCopyId() 
    {
        return copyId;
    }
    public void setCollectNumber(Long collectNumber) 
    {
        this.collectNumber = collectNumber;
    }

    public Long getCollectNumber() 
    {
        return collectNumber;
    }
    public void setApplyNumber(Long applyNumber) 
    {
        this.applyNumber = applyNumber;
    }

    public Long getApplyNumber() 
    {
        return applyNumber;
    }
    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }
    public void setAsId(Long asId) 
    {
        this.asId = asId;
    }

    public Long getAsId() 
    {
        return asId;
    }
    public void setReprintIds(String reprintIds) 
    {
        this.reprintIds = reprintIds;
    }

    public String getReprintIds() 
    {
        return reprintIds;
    }
    public void setReproduceIds(String reproduceIds) 
    {
        this.reproduceIds = reproduceIds;
    }

    public String getReproduceIds() 
    {
        return reproduceIds;
    }
    public void setIsGf(Long isGf) 
    {
        this.isGf = isGf;
    }

    public Long getIsGf() 
    {
        return isGf;
    }
    public void setDetailedAddress(String detailedAddress) 
    {
        this.detailedAddress = detailedAddress;
    }

    public String getDetailedAddress() 
    {
        return detailedAddress;
    }
    public void setCoord(String coord) 
    {
        this.coord = coord;
    }

    public String getCoord() 
    {
        return coord;
    }
    public void setPayType(Long payType) 
    {
        this.payType = payType;
    }

    public Long getPayType() 
    {
        return payType;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userId", getUserId())
            .append("contacts", getContacts())
            .append("pcUrl", getPcUrl())
            .append("name", getName())
            .append("maxNumber", getMaxNumber())
            .append("peopleNumber", getPeopleNumber())
            .append("price", getPrice())
            .append("applyStartTime", getApplyStartTime())
            .append("applyEndTime", getApplyEndTime())
            .append("telPhone", getTelPhone())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("content", getContent())
            .append("address", getAddress())
            .append("customField", getCustomField())
            .append("checkStatus", getCheckStatus())
            .append("rejectReason", getRejectReason())
            .append("approverId", getApproverId())
            .append("checkTime", getCheckTime())
            .append("copyId", getCopyId())
            .append("collectNumber", getCollectNumber())
            .append("applyNumber", getApplyNumber())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("status", getStatus())
            .append("asId", getAsId())
            .append("reprintIds", getReprintIds())
            .append("reproduceIds", getReproduceIds())
            .append("isGf", getIsGf())
            .append("detailedAddress", getDetailedAddress())
            .append("coord", getCoord())
            .append("payType", getPayType())
            .toString();
    }
}
